Как запустить симуляцию в Vivado
Симуляция — это один из видов моделирования. Моделирование используется чтобы проверки поведения разработанного устройства. Для этого, на входные сигналы подаются тестовые воздействия, а с выходных считывается результат. Параллельно этому процессу, те же самые тестовые воздействия отправляются и в эталонную модель устройства. Результат модели сверяют с результатом проектируемого устройства и, в случае расхождения, сигнализируют об ошибке.
Генерация тестовых воздействий, подача их на верифицируемое устройство и модель, сверка результатов и логирование ошибок — все это выполняется средствами верификационного окружения, которое в рамках данных лабораторных работ будет именоваться как "тестбенч". Тестбенчи — это несинтезируемые модули, поэтому они не должны находиться в папке Design Sources
, вместо этого для них есть папка Simulation Sources
(см. "Окно исходников проекта Vivado").
Для каждого верифицируемого модуля в репозитории есть отдельный тестбенч. Перед запуском моделирования, необходимо убедиться, что в качестве модуля верхнего уровня в папке Simulation Sources
выбран тестбенч того модуля, который вы собираетесь верифицировать.
Есть несколько способов запустить симуляцию, рассмотрим два из них:
- На панели слева, в разделе
SIMULATION
, нажатьRun Simulation
→Run Behavioral Simulation
.
Рисунок 1. Запуск симуляции через вкладку SIMULATION
окна Flow Navigator
.
- В иерархии проекта нажать по папке
sim_1
правой кнопкой мыши, далее выбратьRun Simulation
→Run Behavioral Simulation
.
Рисунок 2. Запуск симуляции через контекстное меню папки sim_1
в Simulation Sources
.
После запуска симуляции будет отмоделировано определенное количество времени, задаваемое через настройки проекта, после чего моделирование приостанавливается. Если этого времени не хватает для прохождения всех этапов симуляции (если в Tcl Console
вы не видите сообщение о завершении моделирования), необходимо нажать кнопку ▶
(Run all
) на панели инструментов появившегося окна SIMULATION
(либо нажать горячую клавишу F3
).
В случае, если вы изменили исходный код какого-то из модулей, симуляцию можно перезапустить тем же способом, которым вы запустили её в первый раз, либо нажав кнопку Relaunch Simulation
.
В случае, не меняли исходный код, но хотите промоделировать модуль заново, вы можете воспользоваться кнопкой Restart
(|◀
). В этом случае, вы избежите повторной компиляции модулей.
Для закрытия симуляции вы можете кликнуть на крестик окна SIMULATION
(бирюзовое), либо нажать правой кнопкой мыши по SIMULATION
и выбрать Close Simulation
.
Рисунок 3. Закрытие симуляции через окно Flow Navigator
.
Если вы изменили модуль верхнего уровня в
Simulation Sources
, вам необходимо закрыть текущую симуляцию. Без этого новая не сможет запуститься и будет выдавать ошибку "boost filesystem remove: Процесс не может получить доступ к файлу".